Stored Procedures [dbo].[asi_UniformString]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)Direction
@organizationKeyuniqueidentifier16
@userKeyuniqueidentifier16
@loggedInUserGroupKeyuniqueidentifier16
@uniformStringnvarchar(850)1700Out
SQL Script


CREATE    PROC [dbo].[asi_UniformString]
    @organizationKey uniqueidentifier,
       @userKey uniqueidentifier,
       @loggedInUserGroupKey uniqueidentifier = '00000000-0000-0000-0000-000000000000', -- if this is empty, we assume the user is not logged in
    @uniformString nvarchar(850) OUTPUT
    AS
BEGIN
    SET @uniformString = N' (UniformMain.OrganizationKey='+NCHAR(39)+CAST(@organizationKey As nchar(36))+NCHAR(39)+' OR UniformMain.OrganizationKey='+NCHAR(39)+N'{00000000-0000-0000-0000-000000000000}'+NCHAR(39)+')'
    SET    @uniformString = @uniformString+N'AND(EXISTS(SELECT 1 FROM AccessItem INNER JOIN UserToken ON AccessItem.Grantee = UserToken.Grantee OR AccessItem.Grantee = '+NCHAR(39)+CAST(@loggedInUserGroupKey As nchar(36))+NCHAR(39)+' WHERE AccessItem.AccessKey = UniformMain.AccessKey AND UserToken.UserKey='+NCHAR(39)+CAST(@userKey As nchar(36))+NCHAR(39)+' AND (AccessItem.Permission&3)>0))'
END


GO
Uses